home *** CD-ROM | disk | FTP | other *** search
- /*
- * WINLIB
- * Header file
- */
-
- #include <ncurses.h>
- #include <panel.h>
- #include <gpm.h>
-
- #define MENU_SELECTABLE 0x01 /* Selectable menu */
- #define MENU_DISABLED 0x02 /* Disabled menu */
-
- #define ACS_DULCORNER (A_ALTCHARSET | 0xC9)
- #define ACS_DURCORNER (A_ALTCHARSET | 0xBB)
- #define ACS_DLLCORNER (A_ALTCHARSET | 0xC8)
- #define ACS_DLRCORNER (A_ALTCHARSET | 0xBC)
- #define ACS_DHLINE (A_ALTCHARSET | 0xCD)
- #define ACS_DVLINE (A_ALTCHARSET | 0xBA)
-
- #define OPT_DEBUG 0x0001
- #define OPT_MOUSECOORD 0x0002
- #define OPT_COLOR 0x0004
- #define OPT_SOUND 0x0008
- #define OPT_WAVFILE 0x0010
- #define OPT_USEDEVAUDIO 0x0020
- #define OPT_SOUNDINIT 0x0040
-
- #define CLOSER 0x0001 /* Window has close button */
- #define MOVER 0x0002 /* Window has mover button */
- #define MAXIMIZER 0x0004 /* Window has maximizer button */
- #define MINIMIZER 0x0008 /* Window has minimizer button */
- #define SIZER 0x0010 /* Window has sizer buttons */
-
- #define WM_CREATED 20
- #define WM_DELETED 30
- #define WM_DESTROYED 31
- #define WM_MINIMIZED 40
- #define WM_MAXIMIZED 41
- #define WM_MOVED 50
-
- #define SOUND_OPEN 1 /* Opened window */
- #define SOUND_CLOSE 2 /* Closed window */
- #define SOUND_DESTROY 3 /* Destroyed window */
- #define SOUND_MINIMIZE 4 /* Minimized window */
- #define SOUND_MAXIMIZE 5 /* Maximized window */
- #define SOUND_START 6 /* Started a program */
- #define SOUND_EXIT 7 /* Ended a program */
- #define SOUND_MENUDROP 8 /* A menu dropped down */
- #define SOUND_MENUSEL 9 /* A menu was selected */
-
- typedef struct {
- char *item;
- int type, selected;
- void (*function)();
- } ITEMS;
-
- typedef struct _menustruct {
- char *title;
- ITEMS item[20];
- int x, title_len, index, selected, items;
- struct _menustruct *prev, *next;
- } MENU;
-
- typedef struct _grectwin {
- int x, y, w, h;
- } GRECT;
-
- typedef struct _winstruct {
- WINDOW *win, *workwin;
- PANEL *pan, *workpan;
- void (*callback)();
- char *title;
- GRECT cur, orig;
- int mode, index;
- struct _winstruct *prev, *next;
- } WIN;
-
- extern WINDOW *_main_win, *_menu_win, *_menu_area;
- extern PANEL *_main_pan, *_menu_pan, *_menu_area_pan;
- extern MENU *_menutree;
- extern WIN *_wintree;
- extern void (*_keydispatch)(), (*_mousedispatch)();
- extern int _has_menu, _cur_title, _showing_menu, _changed, _cur_item,
- _moving_win, _has_win, _cur_window, _xoffset, _moving_idx,
- _sound_socket, _sound_init, _resizing_win, _resize_corner;
- extern char *_open_sound, *_close_sound, *_destroy_sound, *_min_sound,
- *_max_sound, *_start_sound, *_exit_sound, *_menudrop_sound,
- *_menusel_sound;
-
- /****************************************************** Prototypes *****/
-
- /* Initialization and deinitialization */
- void Win_InitializeNCURSES(void);
- void Win_InitializeGPM(void);
- void Win_InitializeVARIABLES(void);
- int Win_Initialize(void);
- int Win_InitializeSound(void);
- void Win_Deinitialize(void);
- char *Win_GetLibraryVersion(void);
- int Win_GetOptions(void);
-
- /* Callback initialization */
- void Win_SetCallbackKEYBOARD(void *);
- void Win_SetCallbackMOUSE(void *);
-
- /* Menu functions and routines */
- int Menu_AddTitle(char *);
- int Menu_AddItem(int, char *, int, void *);
- int Menu_AddCheck(int, char *, int);
-
- /* Window functions and routines */
- WINDOW *Win_CreateWindow(int, int, int, int, char *, int, void *);
-
- /* Sound routines */
- void Win_PlaySound(int);
- void Win_SetSound(int, char *);
-
- /* Handler routines */
- int Win_LibHandler(Gpm_Event *, void *);
- void Win_Loop(void);
-